package com.cg.asm.body.service.org;

import com.cg.asm.body.domain.dto.org.OrgRegDTO;
import com.cg.asm.body.domain.vo.org.OrgExpandedByCodeVO;
import com.cg.asm.body.domain.vo.org.OrgManagerTreeVO;
import com.cg.asm.body.domain.vo.org.OrgUpdateStatus;

import java.util.List;

public interface IOrgService {

    /**
     * 获取所有组织机构树信息(全部列)
     *
     * @return
     */
    List<OrgManagerTreeVO> getOrgTreeDataFullCol();

    /**
     * 根据组织机构编码获取所有需展开节点编码
     *
     * @param orgCode
     * @return
     */
    OrgExpandedByCodeVO expandedCodes(String orgCode);

    /**
     * 保存组织机构信息
     * @param orgRegDTO
     */
    void saveOrg(OrgRegDTO orgRegDTO);

    /**
     * 删除组织机构
     * @param orgCode
     */
    void delOrg(String orgCode);

    /**
     * 更新组织机构信息
     * @param orgRegDTO
     */
    void saveEditOrg(OrgRegDTO orgRegDTO);

    /**
     * 批量更新组织机构状态
     * @param orgUpdateStatus
     */
    void updateStatusBatch(OrgUpdateStatus orgUpdateStatus);
}
